home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-M68K / ATARI_SC.{21 < prev    next >
Text File  |  1999-09-17  |  2KB  |  66 lines

  1. #ifndef _ATARI_SCCSERIAL_H
  2. #define _ATARI_SCCSERIAL_H
  3.  
  4. /* Special configuration ioctls for the Atari SCC5380 Serial
  5.  * Communications Controller
  6.  */
  7.  
  8. /* ioctl command codes */
  9.  
  10. #define TIOCGATSCC    0x54c0    /* get SCC configuration */
  11. #define TIOCSATSCC    0x54c1    /* set SCC configuration */
  12. #define TIOCDATSCC    0x54c2    /* reset configuration to defaults */
  13.  
  14. /* Clock sources */
  15.  
  16. #define CLK_RTxC    0
  17. #define CLK_TRxC    1
  18. #define CLK_PCLK    2
  19.  
  20. /* baud_bases for the common clocks in the Atari. These are the real
  21.  * frequencies divided by 16.
  22.  */
  23.    
  24. #define SCC_BAUD_BASE_TIMC    19200    /* 0.3072 MHz from TT-MFP, Timer C */
  25. #define SCC_BAUD_BASE_BCLK    153600    /* 2.4576 MHz */
  26. #define SCC_BAUD_BASE_PCLK4    229500    /* 3.6720 MHz */
  27. #define SCC_BAUD_BASE_PCLK    503374    /* 8.0539763 MHz */
  28. #define SCC_BAUD_BASE_NONE    0        /* for not connected or unused
  29.                          * clock sources */
  30.  
  31. #define SCC_BAUD_BASE_MVME_PCLK    781250    /* 12.5 MHz */
  32. #define SCC_BAUD_BASE_MVME    625000    /* 10.000 MHz */
  33. #define SCC_BAUD_BASE_BVME_PCLK    781250    /* 12.5 MHz */   /* XXX ??? */
  34. #define SCC_BAUD_BASE_BVME    460800    /* 7.3728 MHz */
  35.  
  36. /* The SCC configuration structure */
  37.  
  38. struct atari_SCCserial {
  39.     unsigned    RTxC_base;    /* base_baud of RTxC */
  40.     unsigned    TRxC_base;    /* base_baud of TRxC */
  41.     unsigned    PCLK_base;    /* base_baud of PCLK, for both channels! */
  42.     struct {
  43.         unsigned clksrc;    /* CLK_RTxC, CLK_TRxC or CLK_PCLK */
  44.         unsigned divisor;    /* divisor for base baud, valid values:
  45.                      * see below */
  46.     } baud_table[17];        /* For 50, 75, 110, 135, 150, 200, 300,
  47.                      * 600, 1200, 1800, 2400, 4800, 9600,
  48.                      * 19200, 38400, 57600 and 115200 bps. The
  49.                      * last two could be replaced by other
  50.                      * rates > 38400 if they're not possible.
  51.                      */
  52. };
  53.  
  54. /* The following divisors are valid:
  55.  *
  56.  *   - CLK_RTxC: 1 or even (1, 2 and 4 are the direct modes, > 4 use
  57.  *               the BRG)
  58.  *
  59.  *   - CLK_TRxC: 1, 2 or 4 (no BRG, only direct modes possible)
  60.  *
  61.  *   - CLK_PCLK: >= 4 and even (no direct modes, only BRG)
  62.  *
  63.  */
  64.  
  65. #endif /* _ATARI_SCCSERIAL_H */
  66.